If a software error corrupts a database, or if erroneous data updates the database, a database administrator may restore the database to a previous uncorrupted state that does not include the erroneous data. A backup application executes a backup operation either occasionally or continuously to enable this restoration, storing each desired database state (the values of its data and these values' embedding in the database's data structures) within dedicated backup files. When the database administrator decides to return the database to a previous state, the database administrator specifies the desired previous state by identifying a desired point in time when the database was in this state, and instructs the backup application to execute a restore operation to restore the corresponding backup files for that state to the database.
The standard Network Data Management Protocol (NDMP) provides a mechanism to facilitate file system backup and restore operations between compatible storage devices and backup devices. However, NDMP is unsuitable for heterogeneous backup and restore operations when the backup needs to be created for a source device and stored on a storage device that does not support any of the source device's data formats. NDMP can also be used to provide file and directory migration functionality to copy data from a source device to a storage device by connecting the source device to the storage device, executing a backup operation on the source device, and executing a restore operation on the storage device. Similar to the backup and restore operations using NDMP, this “NDMP copy” process functions properly only if the source and storage devices support at least one compatible data format. NDMP enables an incremental backup by specifying that only files and directories modified after a selected point in time need to be copied from the source device to the storage device.